package com.jt.config;/**
 * @Author 金帮嘉诚 @Date 2021-08-07 星期六 12:11
 */
/*本类用于测试*/

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * 知识点
 * 创建 配置类
 * 以及 在BasePojo类中设置注解  @TableField(fill = FieldFill.INSERT) @TableField(fill = FieldFill.UPDATE)
 * 实现 创建和更新时 自动插入 created updated列
 */
@Component//将对象交给Spring容器管理
public class MyMetaObjectHandler implements MetaObjectHandler {
    //当数据库做新增操作时,自动调用  API调用 不需要问为什么
    //metaObject对象 是MP自动填充的配置 有默认行为
    @Override
    public void insertFill(MetaObject metaObject) {
        //当前时间
        Date date = new Date();
        this.setFieldValByName("created", date, metaObject);
        this.setFieldValByName("updated", date, metaObject);

    }

    //当数据库做修改操作时,自动调用
    @Override
    public void updateFill(MetaObject metaObject) {
        this.setFieldValByName("updated", new Date(), metaObject);
    }
}
